package common.model.chat;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
import java.time.LocalDateTime;

/**
 * 聊天消息实体类
 * 用于存储聊天会话中的具体消息内容
 */
@Data
public class Message {
    /**
     * 消息ID
     */
    @TableId(type = IdType.AUTO)
    private Long id;
    /**
     * 会话ID
     */
    private String conversationId;
    /**
     * 发送者ID
     */
    private Long fromId;
    /**
     * user\admin
     */
    private String fromType;
    /**
     * 接收者ID
     */
    private Long toId;

    /**
     * user\admin
     */
    private String toType;
    /**
     * 消息类型（1: 文本, 2: 图片, 3: 文件, 4: 系统消息）
     */
    private String messageType;
    /**
     * 消息内容
     */
    private String content;

    /**
     * 消息状态（1: 已发送, 2: 已送达, 3: 已读）
     */
    private Integer status;

    /**
     * 是否已读
     */
    private Boolean isRead;

    /**
     * 读取时间
     */
    private LocalDateTime readTime;

    /**
     * 发送时间
     */
    private Long timestamp;

    /**
     * 更新时间
     */
    private LocalDateTime updateTime;

    /**
     * 是否删除
     */
    private Boolean deleted;
}
